/*
 * libPath.h
 *
 *  Created on: 26/04/2012
 *      Author: utnso
 */

#ifndef LIBPATH_H_
#define LIBPATH_H_

//INCLUDES
#include <stdlib.h>
#include <stdint.h>
#include "libImprimirPorConsola.h"
#include <string.h>

//TIPOS
typedef struct nodoNombreDirOArch_t{
	char* nombre;
	struct nodoNombreDirOArch_t* sig;
} __attribute__((packed)) nodoNombreDirOArch_t;

//FUNCIONES
void  parsearPath(char*, nodoNombreDirOArch_t**, nodoNombreDirOArch_t**);

void apilarNombreDirOArch(nodoNombreDirOArch_t**, char*);

void desapilarNombreDirOArch(nodoNombreDirOArch_t**, char**);

void vaciarPilaNombres(nodoNombreDirOArch_t**);

void encolarNombreDirOArch(nodoNombreDirOArch_t**, nodoNombreDirOArch_t**, char*);

void desencolarNombreDirOArch(nodoNombreDirOArch_t**, nodoNombreDirOArch_t**, char**);

void sacarUltimoNodoDeUnaCola(nodoNombreDirOArch_t **, nodoNombreDirOArch_t **);

void concatenarDosPaths(char** , char* );

char* concatenarPath(nodoNombreDirOArch_t *pila);

char* obtenerPathDeDirectorio(char* );

char* obtenerNombre(char*);

#endif /* LIBPATH_H_ */
